using System;
using AutoMapper;
using NHibernate;

namespace Nvigorate.Repository
{
    public class DefaultTranslator<TModel, TDTO> : ITranslator<TModel, TDTO>
        where TModel : class
        where TDTO : class
    {
        public TDTO Get(TModel model)
        {
            return Mapper.Map<TModel, TDTO>(model);
        }

        public Action<TDTO> GetUpdateStrategy(TModel model)
        {
            return tdto =>
                {
                    //does nothing
                };
        }

        public Func<TDTO, TModel> GetCreateStrategy()
        {
            return tdto => default(TModel);
        }
    }
}